/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tk.eigh.ksvg.component.filter;

import ksvg.core.SVGFilter;
import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFComponent;
import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFProperty;
import tk.eigh.ksvg.types.SVGNumber;

/**
 *
 * @author nt
 */
@JSFComponent(name = "svg:DisplacementMap",
type = "tk.eigh.svg.DisplacementMap",
family = "filter.DisplacementMap",
clazz = "ksvg.filter.DisplacementMap",
tagClass = "ksvg.tags.filter.DisplacementMapTag",
defaultRendererType = "filter.SVGDisplacementMapRenderer")
public abstract class AbstractDisplacementMap extends SVGFilter implements _SecondIn {

    /**
     * scale = "<em><a
     * href="http://www.w3.org/TR/SVG/types.html#DataTypeNumber">&lt;number&gt;</a></em>">Displacement
     * scale factor. The amount is expressed in the coordinate system
     * established by attribute <a
     * href="http://www.w3.org/TR/SVG/filters.html#FilterElementPrimitiveUnitsAttribute">‘primitiveUnits’</a>
     * on the <a
     * href="http://www.w3.org/TR/SVG/filters.html#FilterElement">‘filter’</a>
     * element.<br/> When the value of this attribute is 0, this operation has
     * no effect on the source image.<br/> If the attribute is not specified,
     * then the effect is as if a value of 0 were specified.<br/> <a
     * href="http://www.w3.org/TR/SVG/animate.html#Animatable">Animatable</a>:
     * yes.
     */
    @JSFProperty
    public abstract SVGNumber getScale();

    /**
     * xChannelSelector = "<em>R | G | B | A</em>"</dt><dd>Indicates which
     * channel from <a
     * href="http://www.w3.org/TR/SVG/filters.html#feDisplacementMapIn2Attribute">‘in2’</a>
     * to use to displace the pixels in <a
     * href="http://www.w3.org/TR/SVG/filters.html#FilterPrimitiveInAttribute">‘in’</a>
     * along the x-axis. If attribute <a
     * href="http://www.w3.org/TR/SVG/filters.html#feDisplacementMapXChannelSelectorAttribute">‘xChannelSelector’</a>
     * is not specified, then the effect is as if a value of A were specified.
     * <br/> <a
     * href="http://www.w3.org/TR/SVG/animate.html#Animatable">Animatable</a>:
     * yes.
     */
    @JSFProperty
    public abstract String getXChannelSelector();

    /**
     * yChannelSelector = "<em>R | G | B | A</em>"</dt><dd>Indicates which
     * channel from <a
     * href="http://www.w3.org/TR/SVG/filters.html#feDisplacementMapIn2Attribute">‘in2’</a>
     * to use to displace the pixels in <a
     * href="http://www.w3.org/TR/SVG/filters.html#FilterPrimitiveInAttribute">‘in’</a>
     * along the y-axis. If attribute <a
     * href="http://www.w3.org/TR/SVG/filters.html#feDisplacementMapYChannelSelectorAttribute">‘yChannelSelector’</a>
     * is not specified, then the effect is as if a value of A were specified.
     * <br/> <a
     * href="http://www.w3.org/TR/SVG/animate.html#Animatable">Animatable</a>:
     * yes.
     */
    @JSFProperty
    public abstract String getYChannelSelector();
    
    /**
     * 
     */
}